Here's a quick list of all Proxomitron's special characters. See Matching Rules for more detailed explanations.
Matching meta characters
| * | match a string of any characters. |
| ? | match any single character. |
| [abc] | match any single character listed in the brackets. |
| [^a-z] | match any single character not listed in the brackets. |
| [#x:y] | numeric range match. Supports negative numbers. |
| " " | (a Space) Always matches but also consumes any whitespace. |
| \s | match string of whitespace only. |
| \w | match any number of non-space characters except ">". |
| \t | matches a single tab character. |
| \r | matches a single carriage return character. |
| \n | matches a single newline character. |
| \0-9 | put match into a variable - works like "*" unless following stuff in parentheses: "( ... )\1" |
| \# | append match on to replacement stack. |
| & | AND function. |
| && | AND-AND (like AND but limits scope of second part). |
| | | OR function. |
| (^...) | NOT function. |
| (...) | group a sub-expression. Negate with "(^ ... )" |
| + | repeat previous match until there are no more left. |
| ++ | same as '+' except matches to up to the point where what follows is true. |
| +{5} | the + or ++ pattern run will match only 5 repetitions. |
| +{2,7} | the + or ++ pattern run will match 2 to 7 repetitions. |
| +{3,*} | the + or ++ pattern run will match 3 or more repetitions. |
| \ | escape any meta character's special meaning. |
| = | magic equal - absorbs leading/trailing spaces. |
| " | magic quote - matches double or single quote. |
| ' | smart ending quote - use to deal with nested quotes. |
| <start> | insert this at the beginning of a page |
| <end> | insert this at the end of a page |
Special Matching Commands
(m=matching value r=replacement text b=boolean value)
| $AV(m) | match an attribute's value excluding any quotes |
| $AVQ(m) | match an attribute's value including any quotes |
| $CON(x,y,[z]) | test current connection number |
| $ESC(stuff) | Escape special characters in a string to make it URL safe (reverse of $UESC) |
| $FILTER(b) | force filtering or not |
| $IHDR(header: m) | match input headers |
| $INEST(start,[m],end) | like nest, but assumes inital tag already matched |
| $JUMP(url) | redirect URL (non-transparent) |
| $LST(listname) | include a blocklist in any matching expression |
| $NEST(start,[m],end) | find pair of nested tags |
| $OHDR(header: m) | match output headers |
| $RDIR(url) | redirect URL (transparent) |
| $SET(0=r) | set a positional variable (\0-9 or \#) to a specific value. |
| $SETPROXY | select a particular proxy for connection . |
| $STOP() | turn filter off for rest of page |
| $TYPE(type value) | check type of page being processed |
| $UESC(stuff) | remove hexidecimal "%xx" style URL escapes |
| $URL(m) | match a the URL inside the matching portion of a filter. |
| $USEPROXY(b) | turn external proxy on or off for connection |
Replacement Text Escapes
| \0-9 | Insert a variable into the replacement text. |
| \# | Inserts one item from the replacement stack each time it is used - first in first out |
| \@ | Insert all the items in the replacement stack. |
| \\ | Insert a single backslash. |
| \a | Insert any anchor text from a URL (anything following a "#"). |
| \d | Insert The Proxomitron base directory in "file://" URL format. |
| \h | Insert the host portion of the URL. |
| \k | Kills the current connection. |
| \p | Insert the path portion of the URL. |
| \q | Insert any query string from a URL (anything following a "?"). |
| \u | Insert the full URL of the current web page. |
Return to main index